const adminsDao = require('../../models/adminsModel.js');
// 加密
const {
    createHash
} = require('crypto');

module.exports = {
    //查找所有数据
    async getAll() {
        return await adminsDao.find().exec();
    },
    //使用 用户名 和 密码 查询    用于后面的登录
    async getadminsByNameAndPwd(adminName, adminPassword, photo) {
        return await adminsDao.findOne({
            adminName,
            adminPassword: createHash('sha256').update(adminPassword).digest('hex'),
            photo
        }).exec();
    },
    //使用用户名查询              用于后面的重复注册
    async getadminsByName(adminName) {
        return await adminsDao.findOne({
            adminName
        }).exec();
    },
    //使用用户名查询              用于后面的重复注册
    async getadminsById(_id) {
        return await adminsDao.findOne({
            _id
        }).exec();
    },
    // 添加数据                    用于后面的注册
    async insertadmins(adminName, adminPassword, photo) {
        return await adminsDao.create({
            adminName,
            adminPassword: createHash('sha256').update(adminPassword).digest('hex'),
            photo
        })
    },
    //删除数据                   用于后面的注销
    async deleAdminsById(adminsId) {
        return await adminsDao.deleteOne({
            "_id": adminsId
        }).exec()
    },
    //修改数据                  用于后面修改adminsId信息
    async updateadminsById({
        _id,
        adminName,
        adminPassword,
        photo
    }) {
        return await adminsDao.updateOne({
            _id
        }, {
            adminName,
            adminPassword: createHash('sha256').update(adminPassword).digest('hex'),
            photo
        }).exec()
    },
    // 分页
    async accessToPag({
        currentpage,
        pagesize
    }) {
        return await adminsDao.find()
            .skip((currentpage - 1) * pagesize)
            .limit(pagesize)
            .sort({
                '_id': -1
            })
            .exec()
    },
    //数据的总条数
    async getsNumber() {
        return adminsDao.countDocuments().exec()
    },

}